每個服務如果對外部(Ineternet)提供Web Base服務,最害怕的就是面臨分佈式阻斷服務(DDoS)和L7應用層的恐攻,如同士兵上了戰場,卻不給你防彈背心一樣
Cloud Armor 可以和 Cloud HTTP(S) Load Balancing 搭配使用,提供 IPv4 和 IPv6 白名單/黑名單、抵擋像是 Cross-site scripting (XSS) 和 SQL injection 應用服務的攻擊、並針對所在的地理位置進行存取的控制。
並且可以透過 Cloud Armor 客製化防禦措施,結合 Layer 3 到 Layer 7 的參數來抵擋多重(兩種或以上)的攻擊組合。
Cloud Armor 會針對每個 request 和對應的 行為做記錄並向 Stackdriver 發送信息,所以您能查看那些被阻止或是被允許的網路流量。
Web一般都會提供靜態和動態內容。啟用了CDN有助於優化靜態內容的傳輸,但客戶端的請求(Request)仍需要連結到AP Server。
在遭遇攻擊的時候,CDN可以進行內容的縮放或緩存來解決,但Web Server 通常只能經由WAF來防止異常的請求。
為了滿足此需求,可以透過Cloud Armor來協助Web Server的安全性。
Cloud Armor將檢查連入Web Server的所有請求連線。(包括未被cache和繞過cache的請求)
1.選擇類型
除了可以用在Cloud CDN和Cloud 負載平衡器之外,還可以保護到未使用Google Cloud的前端應用程式
2.預設規則動作
可選擇符合規則內容需求,允許通過,或是拒絕通過(可自定義回應Error Code)
3.規則建立
可選基本模式(僅透過IP限制範圍),進階模式(可讓您使用一般運算語言 (CEL) 來指定自訂比對條件)
4.套用政策
「目標」是指您希望控管存取權的 Google Cloud Platform 資源,您只能使用非 CDN HTTP(S) 負載平衡器後端服務來當做目標
範例
以下為WAF實際應用範例
Input檢查會檢查CVE-Canary(檢查相關CVE漏洞),XSS-Stable(進行跨網站攻擊檢查),Sqli-stable(sql injection檢查攻擊),lfi-stable(檢查本地文件漏洞),Rfi(檢查遠端文件漏洞)
因為這些項目都是所謂的"總成"
如Sqli-stable會包含以下多個Sqli的CVE漏洞(會隨GCP自動更新)
evaluatePreconfiguredExpr('sqli-stable',
[ 'owasp-crs-v030001-id942110-sqli',
'owasp-crs-v030001-id942120-sqli',
'owasp-crs-v030001-id942150-sqli',
'owasp-crs-v030001-id942180-sqli',
'owasp-crs-v030001-id942200-sqli',
'owasp-crs-v030001-id942210-sqli',
'owasp-crs-v030001-id942260-sqli',
'owasp-crs-v030001-id942300-sqli',
'owasp-crs-v030001-id942310-sqli',
'owasp-crs-v030001-id942330-sqli',
'owasp-crs-v030001-id942340-sqli',
'owasp-crs-v030001-id942380-sqli',
'owasp-crs-v030001-id942390-sqli',
'owasp-crs-v030001-id942400-sqli',
'owasp-crs-v030001-id942410-sqli',
'owasp-crs-v030001-id942430-sqli',
'owasp-crs-v030001-id942440-sqli',
'owasp-crs-v030001-id942450-sqli',
'owasp-crs-v030001-id942251-sqli',
'owasp-crs-v030001-id942420-sqli',
'owasp-crs-v030001-id942431-sqli',
'owasp-crs-v030001-id942460-sqli',
'owasp-crs-v030001-id942421-sqli',
'owasp-crs-v030001-id942432-sqli',
'owasp-crs-v030001-id942160-sqli',
'owasp-crs-v030001-id942190-sqli',
'owasp-crs-v030001-id942280-sqli',
'owasp-crs-v030001-id942290-sqli',
'owasp-crs-v030001-id942360-sqli' ])
如有誤擋情況發生,則需視情況排除相關Rule或是不使用Stable總成來設定
—此篇文章承蒙專案同仁NetChen協助諮詢 特此感謝